Error correction amount creating device

ABSTRACT

In an error correction amount creating device that creates an error correction amount for a five-axis machine controlled by a numerical controller and having three linear axes and two rotation axes, the translation error correction amount and the rotation error correction amount for each lattice point of a lattice region into which a two-dimensional coordinate system space with the rotation axes is divided is obtained from data measured for each position of division of the respective axes and given to the numerical controller.

RELATED APPLICATIONS

The present application claims priority to Japanese Application Number 2013-202358, filed Sep. 27, 2013, the disclosure of which is hereby incorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an error correction amount creating device for a five-axis machine having three linear axes and two rotation axes, in which at least one of a rotation axis-dependent translation correction amount and a rotation axis-dependent rotation correction amount with respect to the two rotation axes is obtained from measurement data of measurement by a measuring machine to create an error correction amount.

2. Description of the Related Art

In a five-axis machine having three linear axes and two rotation axes, an error dependent on the rotation axis (i.e., an error in accordance with the rotation amount of the rotation axis) occurs when the rotation axis is moved according to a movement instruction. Therefore, in the case of performing machining with high precision, it is necessary to correct the error dependent on the rotation axis with an error correction amount dependent on the rotation axis.

In Japanese Patent Application Laid-open No. 2009-151756 and Journal of Technical Disclosure No. 2009-505137, it is disclosed that an error dependent on a rotation axis is corrected by obtaining the translation error amount and rotation error amount dependent on the rotation axis from measurement data obtained by measurement using a measuring machine and creating an error correction table.

Japanese Patent Application Laid-open No. 2009-151756 mentioned above discloses a technique for a five-axis machine in which a two-dimensional coordinate system space is divided at equal intervals or unequal intervals in each axis direction to obtain, from measurement data for each position of division, the translation error amount and rotation error amount dependent on the rotation axis for each lattice point of lattice regions into which the two-dimensional coordinate system space with the two rotation axes is divided at equal intervals or unequal intervals in each direction.

On the assumption that the error of the center of rotation of the rotation axis does not change along with rotation, Journal of Technical Disclosure No. 2009-505137 discloses a technique for a five-axis machine in which a two-dimensional coordinate system space with two rotation axes is divided into lattice regions of equal intervals or unequal intervals in each axis direction to obtain the translation error amount and rotation error amount dependent on the rotation axis for each lattice point from measurement data of position at which all angles of these two rotation axes are zero.

However, with the technique disclosed in Japanese Patent Application Laid-open No. 2009-151756 mentioned above, measurement of the error for each position of division takes time. With the technique disclosed in Journal of Technical Disclosure No. 2009-505137 mentioned above, a case where the error of the center of rotation of the rotation axis changes along with rotation cannot be dealt with.

SUMMARY OF THE INVENTION

Thus, an object of the present invention is to provide an error correction amount creating device that can deal with a case where the error of the center of rotation of a rotation axis changes along with rotation and that enables simplification of the measurement of error and an increase in speed of the calculation of the error correction amount by obtaining at least one of the translation error correction amount dependent on the rotation axis and rotation error correction amount dependent on the rotation axis from a small amount of measurement data.

An error correction amount creating device of the present invention creates an error correction amount for a five-axis machine controlled by a numerical controller and having three linear axes and two rotation axes. The error correction amount creating device includes a measurement data input unit that inputs, as arithmetic measurement data, a translation error and rotation error at respective positions divided at equal or unequal intervals for each of the two rotation axes, measured by a measuring machine, an error correction amount arithmetic unit that obtains, from the arithmetic measurement data, at least one of a rotation axis-dependent translation error correction amount that is a translation error correction amount and a rotation axis-dependent rotation error correction amount that is a rotation error correction amount, for each lattice point of lattice regions into which a two-dimensional coordinate system space with the two rotation axes is divided at the equal intervals or unequal intervals in each axis direction, and an error correction amount output unit that outputs at least one of the rotation axis-dependent translation error correction amount and the rotation axis-dependent rotation error correction amount to the numerical controller controlling the five-axis machine.

The error correction amount creating device may be independent from the numerical controller or be present within the numerical controller.

The five-axis machine may be a table rotating five-axis machine in which a table is rotated about the two rotation axes or a head rotating five-axis machine in which a head is rotated about the two rotation axes.

The present invention can provide an error correction amount creating device that can deal with a case where the error of the center of rotation of a rotation axis changes along with rotation and that enables simplification of the measurement of error and an increase in speed of the calculation of the error correction amount by obtaining at least one of the translation error correction amount dependent on the rotation axis and the rotation error correction amount dependent on the rotation axis from a small amount of measurement data.

BRIEF DESCRIPTION OF THE DRAWINGS

The above-mentioned as well as other objects and features of the present invention will become clear from the description of embodiments below with reference to the accompanying drawings. Of the drawings:

FIG. 1 is a view illustrating a table rotating five-axis machine having two rotation axes without an error;

FIGS. 2A to 2C are views illustrating the translation errors and rotation errors of the A-axis when the C-axis is fixed in an arbitrary position and the A-axis is at each of 0 degrees, 45 degrees, and 90 degrees;

FIG. 3A is a view showing each position at which a two-dimensional coordinate system space with two rotation axes is divided at equal intervals or unequal intervals in each axis direction;

FIG. 3B is a view illustrating the translation error and rotation error of the A-axis for each position of division as shown in FIG. 3A;

FIGS. 4A to 4E are views illustrating the translation error and rotation error of the C-axis;

FIGS. 5A and 5B are views respectively illustrating the definition and motion of an A-axis coordinate system;

FIG. 6 is a view illustrating that there are a translation error (EXC_(0,c), EYC_(0,c), EZC_(0,c)) and rotation error (EAC_(0,c), EBC_(0,c), ECC_(0,c)) dependent on the C-axis when the C-axis is fixed at an arbitrary angle c and the A-axis is at 0 degrees;

FIG. 7 is a view illustrating a case where the translation error (EXC_(0,c), EYC_(0,c), EZC_(0,c)) and rotation error (EAC_(0,c), EBC_(0,c). ECC_(0,c)) dependent on the C-axis that are defined with a machine coordinate system XYZ is transformed into the A-axis coordinate system;

FIG. 8 is a view illustrating a case where the C-axis is fixed at the arbitrary angle c and a change is made for the A-axis to an angle a other than 0 degrees;

FIG. 9 is a view illustrating the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system for each position of division as shown in FIG. 3A;

FIG. 10 is a view illustrating that the translation errors and rotation errors dependent on the A-axis are the same within a column (frame in broken line), since the translation error and rotation error dependent on the A-axis do not change depending on the C-axis position but change depending on only the A-axis position a;

FIG. 11A is a view illustrating each position for measurement of error;

FIG. 11B is a view illustrating measurement data with respect to the A-axis and C-axis for the position for measurement of error;

FIG. 12 is a view for defining the coordinate system and the positive direction of rotation in order to obtain at least one of the translation error correction amount and rotation error correction amount dependent on the rotation axis;

FIGS. 13A to 13H are views illustrating that a work coordinate system X_(w)Y_(w)Z_(w) when a change is made to a for the A-axis being the rotation axis and to c for the C-axis being the rotation axis is obtained by transformation of a reference coordinate system X_(r)Y_(r)Z_(r);

FIG. 14A is a view illustrating an error correction table of the translation error correction amount and the rotation error correction amount;

FIG. 14B is a view illustrating the translation error correction amount and rotation error correction amount for each lattice point shown in FIG. 14A;

FIG. 15 is a view illustrating that at least one of a translation error correction amount (ΔX_(ai,cj), ΔY_(ai,cj), ΔZ_(ai,cj)) and a rotation error correction amount (ΔI_(ai,cj), ΔJ_(ai,cj), ΔK_(ai,cj)) for (ai, cj) can be obtained to be output to and set in a numerical controller;

FIG. 16 is a view illustrating the configuration in which the numerical controller includes a translation and rotation error correction amount creating device;

FIG. 17 is a flowchart illustrating a process of an arithmetic measurement data input unit, a translation and rotation error correction amount arithmetic unit, and a translation and rotation error correction amount output unit in a first embodiment;

FIG. 18 is a view showing a tool head rotating five-axis machine having two rotation axes without an error;

FIG. 19 is a view illustrating that the tool direction of a tool head is the Z-axis direction when the two axes are without an error and A equals 0 degrees;

FIG. 20 is a view showing the translation error and rotation error of the C-axis;

FIGS. 21A and 21B are views respectively illustrating the definition and motion of a C-axis coordinate system;

FIG. 22A is a view illustrating the translation error and rotation error dependent on the A-axis when seen from the C-axis coordinate system (when the A-axis is fixed at the arbitrary angle a and a change is made for the C-axis to 0 degrees);

FIG. 22B is a view illustrating the translation error and rotation error dependent on the A-axis when seen from the C-axis coordinate system (when the A-axis is fixed at the arbitrary angle a and a change is made for the C-axis to the angle c other than 0 degrees);

FIG. 23A is a view showing each position at which a two-dimensional coordinate system space with two rotation axes is divided at equal intervals or unequal intervals in each axis direction;

FIG. 23B is a view illustrating a case where the translation error and rotation error dependent on the C-axis and the translation error and rotation error dependent on the A-axis when seen from the C-axis coordinate system for each position of division are respectively combined;

FIG. 24A is a view illustrating each position for measurement of error;

FIG. 24B is a view illustrating measurement data with respect to the C-axis and A-axis for each position for measurement of error; and

FIG. 25 is a view illustrating the definition of the coordinate system and the positive direction of rotation for obtaining at least one of the translation error correction amount and rotation error correction amount dependent on the rotation axis.

DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment <1> on Intended Machine and Error

FIG. 1 shows a table rotating five-axis machine having two rotation axes without an error. A table 2 rotates about the A-axis and the C-axis and moves along the X-axis. A tool head mounted with a tool 3 moves along the Y-axis and the Z-axis. The machine may be of other configurations as long as the table 2 rotates about two rotation axes.

When the two rotation axes are without an error and A equals 0 degrees, the table 2 is horizontal as in FIG. 1. A nominal A-axis rotation center line N_(A) _(—) _(T) and a nominal C-axis rotation center line N_(c) _(—) _(T) with an intersection N_(O) _(—) _(T) are orthogonal. Herein, “N” means nominal, and “M” which appears later in M_(A) _(—) _(T) (misaligned A-axis rotation center line) or the like means misalignment. Also, “_(—T)” indicates that data forms an error of the table. The position instruction with respect to the A-axis and C-axis that are rotation axes is assumed as (a, c).

When the C-axis is actually moved according to the movement instruction, an error occurs. In “JIS B6190-7, FIG. 1, b) error motion of rotation axis,” the error of the C-axis is represented by “EXC: radial direction motion in the X-direction,” “EYC: radial direction motion in the Y-direction,” “EZC: axis direction motion,” “EAC: tilt motion about the X-axis,” “EBC: tilt motion about the Y-axis,” and “ECC: angle positioning error.” In the present invention, “EXC: radial direction motion in the X-direction,” “EYC: radial direction motion in the Y-direction,” and “EZC: axis direction motion” are called translation error, and “EAC: tilt motion about the X-axis,” “EBC: tilt motion about the Y-axis,” and “ECC: angle positioning error” are called rotation error.

For the A-axis, in a similar manner, there are “EXA: radial direction motion in the X-direction,” “EYA: radial direction motion in the Y-direction,” and “EZA: axis direction motion” as the translation error of the A-axis and “EAA: tilt motion about the X-axis,” “EBA: tilt motion about the Y-axis,” and “ECA: angle positioning error” as the rotation error of the A-axis.

<2> on Translation Error and Rotation Error of A-Axis

FIGS. 2A, 2B, and 2C are views showing the translation errors and rotation errors of the A-axis when the C-axis is fixed in an arbitrary position and the A-axis is at each of 0 degrees, 45 degrees, and 90 degrees. Although the actual errors are small, the errors are depicted with an exaggeration in FIGS. 2A to 2C.

The translation error and rotation error of the A-axis are defined with a machine coordinate system XYZ. The translation error of the A-axis is the respective X, Y, and Z components of the distance to M_(A) _(—) _(T) from N_(A) _(—) _(T) passing through N_(O) _(—) _(T) that is the intersection of the nominal A-axis rotation center line and the nominal C-axis rotation center line. The rotation error of the A-axis is the tilt about the X-axis, the Y-axis, and the Z-axis of M_(A) _(—) _(T) with respect to N_(A) _(—) _(T).

As shown in FIGS. 2A, 2B, and 2C, M_(A) _(—) _(T) may change depending on only an A-axis position a when the C-axis is fixed at an arbitrary angle and a change is made for the A-axis to each of 0 degrees, 45 degrees, and 90 degrees. Therefore, the translation error and rotation error of the A-axis change depending on the A-axis position a. In the present invention, the translation error and rotation error of the A-axis that change depending on the A-axis position a are as follows.

When A=a, the X component, the Y component, and the Z component of the distance to M_(A) _(—) _(T) from N_(A) _(—) _(T) are respectively assumed as EXA(a), EYA(a), and EZA(a).

When A=a, the tilt about the X-axis, the tilt about the Y-axis, and the tilt about the Z-axis of M_(A) _(—) _(T) with respect to N_(A) _(—) _(T) are respectively assumed as EAA(a), EBA(a), and ECA(a).

Hereinafter, for the sake of simplification, “EXA(a),” “EYA(a),” “EZA(a),” “EAA(a),” “EBA(a),” and “ECA(a)” that are the translation error and rotation error of the A-axis are represented as “EXA_(a),” “EYA_(a),” “EZA_(a),” “EAA_(a),” “EBA_(a),” and “ECA_(a).”

FIG. 3A shows each position at which a two-dimensional coordinate system space with two rotation axes is divided at equal intervals or unequal intervals in each axis direction. The interval in the case of division at equal intervals may be an error interval set as an error interval parameter or may be an error interval instructed by a program. As an interval that changes in correspondence with the A-axis or C-axis position, the interval in the case of division at unequal intervals may be an error interval set as a plurality of error interval parameters or may be an error interval instructed by a program.

The translation error and rotation error of the A-axis for each position of division are as in FIG. 3B. A column (frame in broken line) in FIG. 3B shows the translation errors and rotation errors dependent on the A-axis for respective positions where the A-axis positions are the same. Since the translation error and rotation error of the A-axis change depending on only the A-axis position a (a1, . . . , 0, . . . , am), the translation errors and rotation errors dependent on the A-axis are the same within a column in FIG. 3B (are not dependent on the C-axis position).

<3> on Translation Error and Rotation Error of C-Axis

FIGS. 4A, 4B, 4C, 4D, and 4E respectively show the translation errors and rotation errors of the C-axis when A equals 0 degrees and C equals 0 degrees, A equals 0 degrees and C equals 45 degrees, A equals 0 degrees and C equals 90 degrees, A equals 45 degrees and C equals 0 degrees, and A equals 90 degrees and C equals 0 degrees. Although the actual errors are small, the errors are depicted with an exaggeration in FIGS. 4A to 4E.

The translation error and rotation error of the C-axis are defined with the machine coordinate system XYZ. The translation error of the C-axis is the respective X, Y, and Z components of the distance to M_(c) _(—) _(T) from N_(c) _(—) _(T) passing through N_(O) _(—) _(T) that is the intersection of the nominal A-axis rotation center line and the nominal C-axis rotation center line. The rotation error of the C-axis is the tilt about the X-axis, the Y-axis, and the Z-axis of M_(c) _(—) _(T) with respect to N_(c) _(—) _(T).

As shown in FIGS. 4A to 4C, M_(c) _(—) _(T) may change depending on the C-axis position c when the A-axis is fixed at 0 degrees and a change is made for the C-axis to each of 0 degrees, 45 degrees, and 90 degrees. Therefore, the translation error and rotation error of the C-axis change depending on the C-axis position c. Further, as shown in FIGS. 4D and 4E, M_(c) _(—) _(T) may change depending on the A-axis position a when the C-axis position is fixed at 0 degrees and the A-axis position is changed to each of 45 degrees and 90 degrees. Therefore, the translation error and rotation error of the C-axis also change depending on the A-axis position a.

In this manner, the translation error and rotation error of the C-axis change depending on the A-axis position a and the C-axis position c. Therefore, regarding the translation error and rotation error of the C-axis that change depending on the A-axis position a and the C-axis position c in the present invention,

the X component, the Y component, and the Z component of the distance to M_(c) _(—) _(T) from N_(c) _(—) _(T) when A=a and C=c are respectively assumed as EXC(a, c), EYC(a, c), and EZC(a, c), and

the tilt about the X-axis, the tilt about the Y-axis, and the tilt about the Z-axis of M_(c) _(—) _(T) with respect to N_(c) _(—) _(T) when A=a and C=c are respectively assumed as EAC(a, c), EBC(a, c), and ECC(a, c).

Hereinafter, for the sake of simplification, “EXC(a, c),” “EYC(a, c),” “EZC(a, c),” “EAC(a, c),” “EBC(a, c),” and “ECC(a, c)” that are the translation error and rotation error of the C-axis are represented as “EXC_(a,c),” “EYC_(a,c),” “EZC_(a,c),” “EAC_(a,c),” “EBC_(a,c),” and “ECC_(a,c).”

As described above, the translation errors and rotation errors of the A-axis and C-axis change depending on the A-axis position a and C-axis position c. Therefore, in the present invention, the translation error and rotation error that change depending on the rotation axis position (angle) are referred to as translation error and rotation error dependent on the rotation axis, and a correction amount for correction of the error is referred to as translation error correction amount and rotation error correction amount dependent on the rotation axis.

<4> on A-Axis Coordinate System

When two rotation axes are without an error, A equals 0 degrees, and C equals 0 degrees as shown in FIG. 5A, a coordinate system X_(a)Y_(a)Z_(a) in which the origin is the intersection N_(O) _(—) _(T) of the nominal A-axis rotation center line and the nominal C-axis rotation center line and the directions of X, Y, and Z are the same as in a machine coordinate system is assumed as the A-axis coordinate system.

The A-axis coordinate system is fixed to the A-axis that is the rotation axis. FIG. 5B shows that the A-axis coordinate system is present on the A-axis that is the rotation axis having a translation and rotation error, when there are a translation error and rotation error dependent on the A-axis, A equals 0 degrees, and C equals 0 degrees.

<5> on Translation Error and Rotation Error Dependent on C-Axis when Seen from A-Axis Coordinate System

When the C-axis is fixed at the arbitrary angle c and the A-axis is at 0 degrees, there are a translation error (EXA₀, EYA₀, EZA₀) and rotation error (EAA₀, EBA₀, ECA₀) dependent on the A-axis. Therefore, the A-axis coordinate system X_(a)Y_(a)Z_(a) is present on the A-axis and is as shown in FIG. 6.

When the C-axis is fixed at the arbitrary angle c and the A-axis is at 0 degrees as shown in FIG. 6, there are a translation error (EXC_(0,c), EYC_(0,c), EZC_(0,c)) and rotation error (EAC_(0,c), EBC_(0,c). ECC_(0,c)) dependent on the C-axis. The errors are all defined with the machine coordinate system XYZ.

When the translation error (EXC_(0,c), EYC_(0,c), EZC_(0,c)) and rotation error (EAC_(0,c), EBC_(0,c), ECC_(0,c)) dependent on the C-axis that are defined with the machine coordinate system XYZ is transformed into the A-axis coordinate system as shown in FIG. 7, the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system are as follows.

When A=0 and C=c, the X_(a) component, the Y_(a) component, and the Z_(a) component of the distance to M_(c) _(—) _(T) from Z_(a) in the A-axis coordinate system X_(a)Y_(a)Z_(a) are respectively assumed to be “EXC_(0,c)-EXA₀,” “EYC_(0,c)-EYA₀,” and “EZC_(0,c)-EZA₀.”

When A=0 and C=c, the tilt about the Xa-axis, the tilt about the Ya-axis, and the tilt about the Za-axis of M_(c) _(—) _(T) with respect to Z_(a) in the A-axis coordinate system X_(a)Y_(a)Z_(a) are respectively assumed to be “EAC_(0,c)-EAA₀,” “EBC_(0,c)-EBA₀,” and “ECC_(0,c)-ECA₀.”

Next, as shown in FIG. 8, the C-axis is fixed at the arbitrary angle c, and a change is made for the A-axis to the angle a other than 0 degrees. Since the A-axis coordinate system X_(a)Y_(a)Z_(a) is fixed to the A-axis that is the rotation axis, the A-axis coordinate system moves with the A-axis. Since the table that rotates about the C-axis is on the rotation axis A and the C-axis is fixed at the arbitrary angle c, the misaligned C-axis rotation center line M_(c) _(—) _(T) (see FIG. 7) when A=0 and C=c moves together with the A-axis, when a change is made for the A-axis to the angle a other than 0 degrees.

When the C-axis is fixed at the arbitrary angle c and a change is made for the A-axis to the angle a other than 0 degrees, the A-axis coordinate system X_(a)Y_(a)Z_(a) and the misaligned C-axis rotation center line M_(c) _(—) _(T) when A=0 (degrees) and C=c (degrees) simultaneously move together with the A-axis. Accordingly, even if a change is made for the A-axis to the angle a other than 0 degrees, the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system are the same as when A=0 and C=c. Thus, the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system are “EXC_(0,c)-EXA₀,” “EYC_(0,c)-EYA₀,” “EZC_(0,c)-EZA₀,” “EAC_(0,c)-EAA₀,” “EBC_(0,c)-EBA₀,” and “ECC_(0,c)-ECA₀”

The translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system for each position of division as shown in FIG. 3A are as shown in FIG. 9. A row (frame in dashed double-dotted line) in FIG. 9 shows the translation errors and rotation errors dependent on the C-axis when seen from the A-axis coordinate system for respective positions where the C-axis positions are the same. Since the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system change depending on only the C-axis position c, the translation errors and rotation errors dependent on the C-axis when seen from the A-axis coordinate system are the same within a row in FIG. 9.

<6> on Necessary Measurement Data

From FIGS. 3A, 3B, and 9, combination of the translation error and rotation error dependent on the A-axis for each position of division as shown in FIG. 3A and the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system is shown in FIG. 10. A column (for respective positions where the A-axis positions are the same) in FIG. 10 shows the translation error and rotation error dependent on the A-axis for each position where the A-axis positions are the same and the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system where the A-axis positions are the same. A row (for respective positions where the C-axis positions are the same) in FIG. 10 shows the translation error and rotation error dependent on the A-axis for each position where the C-axis positions are the same and the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system where the C-axis positions are the same.

Since the translation error and rotation error dependent on the A-axis do not change depending on the C-axis position but change depending on only the A-axis position a, the translation errors and rotation errors dependent on the A-axis are the same within a column (frame in broken line) in FIG. 10. Thus, it is not necessary to measure the translation error and rotation error dependent on the A-axis for each position of division as shown in FIG. 3A.

It is necessary to fix the C-axis at an arbitrary angle and measure only the translation error and rotation error dependent on the A-axis for each position of division on the A-axis. In this embodiment, the C-axis is fixed at 0 degrees. Thus, it is necessary to measure the translation error (EXA_(a), EYA_(a), EZA_(a)) and rotation error (EAA_(a), EBA_(a), ECA_(a)) (within a frame in broken line in FIG. 11B) dependent on the A-axis for each position (within a frame in broken line in FIG. 11A) where C=0 and A=a among the respective positions of division as shown in FIG. 3A.

Since the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system do not change depending on the A-axis position and change depending on only the C-axis position c, the translation errors and rotation errors dependent on the C-axis when seen from the A-axis coordinate system are the same within a row (frame in dashed double-dotted line) in FIG. 10. In order to obtain the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system, only the translation error (EXC_(0,c), EYC_(0,c), EZC_(0,c)) and the rotation error (EAC_(0,c), EBC_(0,c), ECC_(0,c)) dependent on the C-axis are necessary.

Thus, as shown in FIG. 11A, it is necessary to measure only the translation error (EXC_(0,c), EYC_(0,c), EZC_(0,c)) and the rotation error (EAC_(0,c), EBC_(0,c), ECC_(0,c)) (within a frame in dotted line in FIG. 11B) dependent on the C-axis for each position (within the frame in dotted line) where A=0 and C=c, among the respective positions of division as shown in FIG. 3A. An arithmetic measurement data input unit 21 (see FIG. 15) inputs the necessary measurement data. The measurement of the translation error and rotation error for each lattice point shown in FIGS. 11A and 11B may be performed using a method described in Japanese Patent Application Laid-open No. 2009-151756 mentioned above, for example.

<7> on Translation Error Correction Amount and Rotation Error Correction Amount Dependent on Rotation Axis

As shown in FIGS. 11A and 11B, the translation error and rotation error dependent on the A-axis for each position at which the two-dimensional coordinate system space with the two rotation axes is divided at equal intervals or unequal intervals in each axis direction and the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system (see FIG. 10) can be calculated from a small amount of measurement data. As already described, the interval in the case of division at equal intervals may be an error interval set as an error interval parameter or may be an error interval instructed by a program. In the case of division at unequal intervals, an interval that changes in correspondence with the A-axis or C-axis position may be an error interval set as a plurality of error interval parameters or may be an error interval instructed by a program.

By obtaining at least one of the translation error correction amount and rotation error correction amount dependent on the rotation axis from the translation error and rotation error dependent on the A-axis and the translation error and rotation error dependent on the C-axis when seen from the A-axis coordinate system, it is possible to obtain at least one of the translation error correction amount and rotation error correction amount dependent on the rotation axis from a small amount of measurement data. An error correction amount arithmetic unit 23 (see FIG. 15) performs this calculation. In the error correction amount calculation, a squared term of the error correction amount is ignored. Regarding an error, |e|<<1, where e is the error. Therefore, with approximation, sin(e)=e, and cos(e)=1. The same applies in an embodiment below.

In order to obtain at least one of the translation error correction amount and rotation error correction amount dependent on the rotation axis, the following coordinate system and positive direction of rotation are defined as in FIG. 12. A reference coordinate system X_(r)Y_(r)Z_(r) (stationary coordinate system) of which the origin is the intersection of the nominal A-axis rotation center line and the nominal C-axis rotation center line and the X, Y, and Z directions are the same as in the machine coordinate system is defined. In the same manner as for the definition of the A-axis coordinate system, a work coordinate system X Y Z (moving coordinate system) fixed to the C-axis that is the rotation axis is defined. The counterclockwise direction of rotation when seen from the terminal side of the rotating coordinate axis is the positive direction of rotation of the rotation axis.

By performing the following transformations [1] to [6] in order with the reference coordinate system X_(r)Y_(r)Z_(r) as shown in FIGS. 13A to 13H, the work coordinate system X_(w)Y_(w)Z_(w) in which a change is made respectively for the A-axis and C-axis as the rotation axes to a and c is obtained.

[1] Rotation by EAA_(a), EBA_(a), and ECA_(a) about the X_(r)—, Y_(r)-, and Z_(r)-axes, with the reference coordinate system X_(r)Y_(r)Z_(r) set as the reference coordinate system. [2] Translation by EXA_(a), EYA_(a), and EZA_(a) along the X_(r)-, Y_(r)-, and Z_(r)-axes (resulting in a coordinate system X₁Y₁Z₁ (in FIG. 13B)), with the reference coordinate system X_(r)Y_(r)Z_(r) set as the reference coordinate system. [3] Rotation by the angle a about the X₁-axis (resulting in the A-axis coordinate system X_(a)Y_(a)Z_(a) (in FIGS. 13C and 13D)), with the coordinate system X₁Y₁Z₁ set as the reference coordinate system. [4] Rotation by “EAC_(0,c)-EAA₀,” “EBC_(0,c)-EBA₀,” and “ECC_(0,c)-ECA₀” about the X_(a)-, Y_(a)-, and Z_(a)-axes, with the A-axis coordinate system X_(a)Y_(a)Z_(a) set as the reference coordinate system. [5] Translation by “EXC_(0,c)-EXA₀,” “EYC_(0,c)-EYA₀,” and “EZC_(0,c)-EZA₀” along the X_(a)-, Y_(a)-, and Z_(a)-axes (resulting in a coordinate system X₂Y₂Z₂ (in FIG. 13F)), with the A-axis coordinate system X_(a)Y_(a)Z_(a) set as the reference coordinate system. [6] Rotation by the angle c about the Z₂-axis (resulting in the work coordinate system X_(w)Y_(w)Z_(w) (in FIGS. 13G and 13H)), with the coordinate system X₂Y₂Z₂ as the reference coordinate system.

With the transformations described above, a homogenous coordinate transformation matrix ^(r)T_(w) for the reference coordinate system X_(r)Y_(r)Z_(r) to the work coordinate system X_(w)Y_(w)Z_(w) is obtained by the following expression (1).

^(r) T _(w)=^(r) T ₁ ¹ T _(a) ^(a) T ₂ ² T _(w)  (1)

^(r)T₁: Homogenous coordinate transformation matrix for reference coordinate system X_(r)Y_(r)Z_(r) to coordinate system X₁Y₁Z₁

¹T_(a): Homogenous coordinate transformation matrix for coordinate system X₁Y₁Z₁ to A-axis coordinate system X_(a)Y_(a)Z_(a)

^(a)T₂: Homogenous coordinate transformation matrix for A-axis coordinate system X_(a)Y_(a)Z_(a) to coordinate system X₂Y₂Z₂

²T_(w): Homogenous coordinate transformation matrix for coordinate system X₂Y₂Z₂ to work coordinate system X_(w)Y Z_(w)

When the translation errors and rotation errors dependent on the A-axis and the C-axis are taken into consideration, the actual position of the table in the reference coordinate system X_(r)Y_(r)Z_(r) is as in the following expression (2).

$\begin{matrix} {{\,^{r}p} = {{{{}_{}^{}{}_{}^{}}\left( {{}_{}^{}\left. T \right.\sim_{}^{}} \right)}{\,^{{- 1}r}\overset{\sim}{p}}}} \\ {= {\begin{bmatrix} 1 & {- \gamma} & \beta & {\delta \; X} \\ \gamma & 1 & {- \alpha} & {\delta \; Y} \\ {- \beta} & \alpha & 1 & {\delta \; Z} \\ 0 & 0 & 0 & 1 \end{bmatrix}{\,^{r}\overset{\sim}{p}}}} \end{matrix}$ where δ X = EXA_(a) + (EXC_(0.c) − EXA₀) δ Y = EYA_(a) + (EYC_(0.c) − EYA₀)cos (a) − (EZC_(0.c) − EZA₀)sin (a) δ Z = EZA_(a) + (EZC_(0.c) − EZA₀)cos (a) − (EYC_(0.c) − EYA₀)sin (a) α = EAA_(a) + (EAC_(0.c) − EAA₀) β = EBA_(a) + (EBC_(0.c) − EBA₀)cos (a) − (ECC_(0.c) − ECA₀)sin (a) γ = ECA_(a) + (ECC_(0.c) − ECA₀)cos (a) − (EBC_(0.c) − EBA₀)sin (a)

-   -   ^(r){tilde over (p)}: Correct position of table in reference         coordinate system X_(r)Y_(r)Z_(r)     -   ^(r)p: Actual position of table in reference coordinate system         X_(r)Y_(r)Z_(r) ^(r){tilde over (T)}_(w): Homogenous coordinate         transformation matrix for reference coordinate system         X_(r)Y_(r)Z_(r) to work coordinate system X_(r)Y_(r)Z_(r) when         two rotation axes are without error

(2)

When the translation error correction amount and rotation error correction amount dependent on the rotation axis are such that

an X component ΔX2_(a,c), a Y component ΔY2_(a,c), and a Z component ΔZ2_(a,c) of the translation error correction amount for movement of the rotation axis when A=a and C=c are sufficiently small and

a tilt ΔI2_(a,c) about the X-axis, a tilt ΔJ2_(a,c) about the Y-axis, and a tilt ΔK2_(a,c) about the Z-axis of the rotation error correction amount for movement of the rotation axis when A=a and C=c are sufficiently small, a transformation matrix with the correction amounts is the following expression (3).

$\begin{matrix} {{{\begin{bmatrix} 1 & 0 & 0 & {\Delta \; X\; 2_{a.c}} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & {\Delta \; Y\; 2_{a.c}} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}}\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & {\Delta \; Z\; 2_{a.c}} \\ 0 & 0 & 0 & 1 \end{bmatrix}}{\quad{\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & {\cos \left( {\Delta \; I\; 2_{a.c}} \right)} & {- {\sin \left( {\Delta \; I\; 2_{a.c}} \right)}} & 0 \\ 0 & {\sin \left( {\Delta \; I\; 2_{a.c}} \right)} & {\cos \left( {\Delta \; I\; 2_{a.c}} \right)} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}{\quad{\begin{bmatrix} {\cos \left( {\Delta \; J\; 2_{a.c}} \right)} & 0 & {\sin \left( {\Delta \; J\; 2_{a.c}} \right)} & 0 \\ 0 & 1 & 0 & 0 \\ {- {\sin \left( {\Delta \; J\; 2_{a.c}} \right)}} & 0 & {\cos \left( {\Delta \; J\; 2_{a.c}} \right)} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}{\quad{\begin{bmatrix} {\cos \left( {\Delta \; K\; 2_{a.c}} \right)} & {- {\sin \left( {\Delta \; K\; 2_{a.c}} \right)}} & 0 & 0 \\ {\sin \left( {\Delta \; K\; 2_{a.c}} \right)} & {\cos \left( {\Delta \; K\; 2_{a.c}} \right)} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}{\quad\begin{bmatrix} 1 & {{- \Delta}\; K\; 2_{a.c}} & {\Delta \; J\; 2_{a.c}} & {\Delta \; X\; 2_{a.c}} \\ {\Delta \; K\; 2_{a.c}} & 1 & {{- \Delta}\; I\; 2_{a.c}} & {\Delta \; Y\; 2_{a.c}} \\ {{- \Delta}\; J\; 2_{a.c}} & {\Delta \; I\; 2_{a.c}} & 1 & {\Delta \; Z\; 2_{a.c}} \\ 0 & 0 & 0 & 1 \end{bmatrix}}}}}}}}} & (3) \end{matrix}$

Assuming that the transformation matrix in expression (2) and expression (3) are equal, the following expression (4) is obtained.

ΔX2_(a.c) =EXA _(a)+(EXC _(0.c) −EXA ₀)

ΔY2_(a.c) =EYA _(a)+(EYC _(0.c) −EYA ₀)cos(a)−(EZC _(0.c) −EZA ₀)sin(a)

ΔZ2_(a.c) =EZA _(a)+(EZC _(0.c) −EZA ₀)cos(a)+(EYC _(0.c) −EYA ₀)sin(a)

ΔI2_(a.c) =EAA _(a)+(EAC _(0.c) −EAA ₀)

ΔJ _(a.c) =EBA _(a)+(EBC _(0.c) −EBA ₀)cos(a)−(ECC _(0.c) −ECA ₀)sin(a)

ΔK2_(a.c) =ECA _(a)+(ECC _(0.c) −ECA ₀)cos(a)+(EBC _(0.c) −EBA ₀)sin(a)  (4)

While the translation error correction amount dependent on the rotation axis and the rotation error correction amount dependent on the rotation axis are obtained simultaneously in expression (4), only one of the translation error correction amount and rotation error correction amount dependent on the rotation axis may be obtained. That is, it may be such that only one of the translation error correction amount dependent on the rotation axis and the rotation error correction amount dependent on the rotation axis is obtained by the calculation described above.

<8> on Input of Translation Error Correction Amount and Rotation Error Correction Amount

As in the technique described in Japanese Patent Application Laid-open No. 2009-151756 mentioned above, there is a numerical controller having, within the device, an error correction table of the translation error correction amount and the rotation error correction amount as shown in FIGS. 14A and 14B. For the error correction table, a two-dimensional coordinate system space with two rotation axes is divided into lattice regions at equal intervals or unequal intervals in each axis direction (see FIG. 14A) with a method similar to the dividing method in FIG. 3A. At least one of a translation error correction amount (ΔX_(ai,cj), ΔY_(ai,cj), ΔZ_(ai,cj)) and rotation error correction amount (ΔI_(ai,cj), ΔJ_(ai,cj), ΔK_(ai,cj)) corresponding to each lattice point (ai, cj) (i=1, 2, . . . , m and j=1, 2, . . . , n) (see FIG. 14B) is set in the numerical controller.

The interval in the case of dividing the rotational axes into lattice regions at equal intervals may be a correction interval set as a correction interval parameter or may be a correction interval instructed by a program. In the case of dividing the rotational axes into lattice regions at unequal intervals, an interval that changes in correspondence with the A-axis or C-axis position may be a correction interval set as a plurality of correction interval parameters or may be a correction interval instructed by a program.

In contrast, in the present invention, at least one of the translation error correction amount ΔX_(ai,cj), ΔY_(ai,cj), ΔZ_(ai,cj)) and rotation error correction amount (ΔI_(ai,cj), ΔJ_(ai,cj), ΔK_(ai,cj)) for (ai, cj) can be obtained with expression (4) to be output to and set in the numerical controller. FIG. 15 is a block diagram in this case. In an error correction amount creating device 20, arithmetic measurement data is input from a measuring machine 10 by the arithmetic measurement data input unit, the error correction amount arithmetic unit 23 computes at least one of the translation error correction amount and rotation error correction amount dependent on the rotation axis with the measurement data, and an error correction amount output unit 25 outputs at least one of the translation error correction amount and the rotation error correction amount to a numerical controller 30. The configuration may be such that the translation and rotation error correction amount creating device 20 is present within the numerical controller 30, as in FIG. 16.

FIG. 17 is view showing a flowchart for the arithmetic measurement data input unit, the translation and rotation error correction amount arithmetic unit, and the translation and rotation error correction amount output unit in the first embodiment. Each step will be described below.

[Step ST01] Arithmetic measurement data (EXA_(ai), EYA_(ai), EZA_(ai), EAA_(ai), EBA_(ai), ECA_(ai)) and (EXC_(0,cj), EYC_(0,cj), EZC_(0,cj), EAC_(0,cj), EBC_(0,cj), ECC_(0,cj)) are input from the measuring machine 10. [Step ST02] At least one of the translation error correction amount (ΔX_(ai,cj), ΔY_(ai,cj), ΔZ_(ai,cj)) and the rotation error correction amount (ΔI_(ai,cj), ΔJ_(ai,cj), ΔK_(ai,cj)) is computed with expression (4). [Step ST03] At least one of the translation error correction amount (ΔX_(ai,cj), ΔY_(ai,cj), ΔZ_(ai,cj)) and the rotation error correction amount (ΔI_(ai,cj), ΔJ_(ai,cj), ΔK_(ai,cj)) is input to the numerical controller 30, and the process is terminated.

Herein, step ST01 corresponds to the arithmetic measurement data input unit 21, step ST02 to the error correction amount arithmetic unit 23, and step ST03 to the error correction amount output unit 25.

Second Embodiment <1> on Intended Machine and Error

FIG. 18 shows a tool head rotating five-axis machine having two rotation axes without an error. A tool head rotates about the C-axis and A-axis and moves along the X-axis and the Z-axis. A table moves along the Y-axis. The machine may be of other configurations as long as the tool head rotates about two rotation axes.

When the two rotation axes are without an error and A=0 (degrees), the tool direction of the tool head is the Z-axis direction, as in FIG. 19. A nominal A-axis rotation center line N_(A) _(—) _(H) and a nominal C-axis rotation center line N_(c) _(—) _(H) are orthogonal at an intersection N_(O) _(—) _(H) to each other. Herein, “_(—H)” indicates data that forms an error of the tool head. The position instruction with respect to the A-axis and C-axis that are the rotation axes is assumed as (c, a).

As the translation error of the C-axis, there are the radial direction motion EXC in the X-direction, the radial direction motion EYC in the Y-direction, and the axis direction motion EZC. As the rotation error of the C-axis, there are the tilt motion EAC about the X-axis, the tilt motion EBC about the Y-axis, and the angle positioning error ECC. As the translation error of the A-axis, there are the radial direction motion EXA in the X-direction, the radial direction motion EYA in the Y-direction, and the axis direction motion EZA. As the rotation error of the A-axis, there are the tilt motion EAA about the X-axis, the tilt motion about EBA about the Y-axis, and the angle positioning error ECA.

<2> on Translation Error and Rotation Error of C-Axis

FIG. 20 shows the translation error and rotation error of the C-axis. Although the actual errors are small, the errors are depicted with an exaggeration in FIG. 20. The translation error and rotation error of the C-axis are defined with the machine coordinate system XYZ. The translation error of the C-axis is the respective X, Y, and Z components of the distance to M_(c) _(—) _(H) from N_(c) _(—) _(H) at N_(O) _(—) _(H) that is the intersection of the nominal C-axis rotation center line and the nominal A-axis rotation center line. The rotation error of the C-axis is the tilt about the X-axis, the Y-axis, and the Z-axis of M_(c) _(—) _(H) with respect to N_(c) _(—) _(H).

The translation error and rotation error of the C-axis change depending on the C-axis position c. Therefore, regarding the translation error and rotation error of the C-axis that change depending on the C-axis position c in the present invention,

the X component, the Y component, and the Z component of the distance to M_(c) _(—) _(H) from N_(c) _(—) _(H) are respectively assumed as EXC(c), EYC(c), and EZC(c) when C=c, and

the tilt about the X-axis, the tilt about the Y-axis, and the tilt about the Z-axis of M_(c) _(—) _(H) with respect to N_(c) _(—) _(H) are respectively assumed as EAC(c), EBC(c), and ECC(c) when C=c.

Hereinafter, for the sake of simplification, “EXC(c),” “EYC(c),” “EZC(c),” “EAC(c),” “EBC(c),” and “ECC(c)” that are the translation error and rotation error of the C-axis are represented as “EXC_(c),” “EYC_(c),” “EZC_(c),” “EAC_(c),” “EBC_(c),” and “ECC_(c).”

<3> on Translation Error and Rotation Error of A-Axis

FIG. 20 shows the translation error and rotation error of the A-axis. Although the actual errors are small, the errors are depicted with an exaggeration in FIG. 20. The translation error and rotation error of the A-axis are defined with the machine coordinate system XYZ. The translation error of the A-axis is the respective X, Y, and Z components of the distance to M_(A) _(—) _(H) from N_(A) _(—) _(H) at N_(O) _(—) _(H) that is the intersection of the nominal C-axis rotation center line and the nominal A-axis rotation center line. The rotation error of the A-axis is the tilt about the X-axis, the Y-axis, and the Z-axis of M_(A) _(—) _(H) with respect to N_(A) _(—) _(H).

The translation error and rotation error of the A-axis change depending on the C-axis position c and the A-axis position a. Therefore, regarding the translation error and rotation error of the A-axis that change depending on c and a in the present invention,

the X component, the Y component, and the Z component of the distance to M_(A) _(—) _(H) from N_(A) _(—) _(H) are respectively assumed as EXA(c, a), EYA(c, a), and EZA(c, a) when C=c and A=a, and

the tilt about the X-axis, the tilt about the Y-axis, and the tilt about the Z-axis of M_(A) _(—) _(H) with respect to N_(A) _(—) _(H) are respectively assumed as EAA(c, a), EBA(c, a), and ECA(c, a) when C=c an A=a.

Hereinafter, for the sake of simplification, “EXA(c, a),” “EYA(c, a),” “EZA(c, a),” “EAA(c, a),” “EBA(c, a),” and “ECA(c, a)” that are the translation error and rotation error of the A-axis are represented as “EXA_(c,a),” “EYA_(c,a),” “EZA_(c,a),” “BAA_(c,a),” “EBA_(c,a),” and “ECA_(c,a).”

<4> on C-Axis Coordinate System

When two rotation axes are without an error, C=0, and A=0 as shown in FIG. 21A, a coordinate system X_(c)Y_(c)Z_(c) in which the origin is the intersection N_(O) _(—) _(H) of the nominal C-axis rotation center line and the nominal A-axis rotation center line and the directions of X, Y, and Z are the same as in a machine coordinate system is assumed as the C-axis coordinate system.

The C-axis coordinate system is fixed to the C-axis that is the rotation axis. FIG. 21B shows that the C-axis coordinate system is present on the C-axis that is the rotation axis having a translation and rotation error, when there are a translation error and rotation error dependent on the C-axis, C=0, and A=0.

<5> on Translation Error and Rotation Error Dependent on A-Axis when Seen from C-Axis Coordinate System

When the A-axis is fixed at an arbitrary angle a and the C-axis is at 0 degrees as shown in FIG. 22A and a translation error (EXA_(0,a), EYA_(0,a), EZA_(0,a)) and rotation error (EAA_(0,a), EBA_(0,a), ECA_(0,a)) dependent on the A-axis that are defined with the machine coordinate system XYZ are transformed into the C-axis coordinate system, the translation error and rotation error dependent on the A-axis when seen from the C-axis coordinate system are such that

the X_(c) component, the Y_(c) component, and the Z_(c) component of the distance to M_(A) _(—) _(H) from Z₀ in the C-axis coordinate system X_(c)Y_(c)Z_(c) are respectively “EXA_(0,a)-EXC₀,” “EYA_(0,a)-EYC₀,” and “EZA_(0,a)-EZC₀” when C=0 and A=a, and

the tilt about the X_(c)-axis, the tilt about the Y_(c)-axis, and the tilt about the Z_(n)-axis of M_(A) _(—) _(H) with respect to Z_(c) in the C-axis coordinate system X_(c)Y_(c)Z_(c) are respectively “EAA_(0,a)-EAC₀,” “EBA_(0,a)-EBC_(O),” and “ECA_(0,a)-ECC₀” when C=0 and A=a.

When the A-axis is fixed at the angle a and a change is made for the C-axis to the angle c other than 0 degrees as shown in FIG. 22B, the C-axis coordinate system X_(c)Y_(c)Z_(c) and the misaligned A-axis rotation center line M_(A) _(—) _(H) when C=0 and A=a move simultaneously together with the C-axis. Therefore, even if a change is made for the C-axis to the angle c other than 0 degrees, the translation error and rotation error dependent on the A-axis when seen from the C-axis coordinate system are the same as when C=0 and A=a at “EXA_(0,a)-EXC₀,” “EYA_(0,a)-EYC₀,” “EZA_(0,a)-EZC₀,” “EAA_(0,a)-EAC₀,” “EBA_(0,a)-EBC₀,” and “ECA_(0,a)-ECC₀.”

<6> on Necessary Measurement Data

FIG. 23A shows each position at which a two-dimensional coordinate system space with two rotation axes is divided at equal intervals or unequal intervals in each axis direction. Combination of the translation error and rotation error dependent on the C-axis for each position of division and the translation error and rotation error dependent on the A-axis when seen from the C-axis coordinate system is shown in FIG. 23B. A column (for respective positions where the C-axis positions are the same) in FIG. 23B shows the translation error and rotation error dependent on the C-axis for each position where the C-axis positions are the same and the translation error and rotation error dependent on the A-axis when seen from the C-axis coordinate system where the C-axis positions are the same. A row (for respective positions where the A-axis positions are the same) in FIG. 23B shows the translation error and rotation error dependent on the C-axis for each position where the A-axis positions are the same and the translation error and rotation error dependent on the A-axis when seen from the C-axis coordinate system where the A-axis positions are the same.

From FIGS. 23A and 23B, necessary measurement data as shown in FIGS. 24A and 24B is obtained. It is necessary to measure the translation error (EXC_(c), EYC_(c), EZC_(c)) and rotation error (EAC_(c), EBC_(c), ECC_(c)) (within a frame in broken line in FIG. 24B) dependent on the C-axis for the respective positions (within a frame in broken line in FIG. 24A) where A=0 and C=c, and it is necessary to measure the translation error (EXA_(0,a), EYA_(0,a), EZA_(0,a)) and the rotation error (EAA_(0,a), EBA_(0,a), ECA_(0,a)) (within a frame in dotted line in FIG. 24B) dependent on the A-axis for the respective positions (within a frame in dotted line in FIG. 24A) where C=0 and A=a, among the respective positions of division as shown in FIG. 23A. The arithmetic measurement data input unit 21 (see FIG. 15) performs input of the necessary measurement data.

<7> on Translation Error Correction Amount and Rotation Error Correction Amount Dependent on Rotation Axis

In order to obtain at least one of the translation error correction amount and rotation error correction amount dependent on the rotation axis, the following coordinate system and positive direction of rotation are defined as in FIG. 25. The reference coordinate system X_(r)Y_(r)Z_(r) (stationary coordinate system) of which the origin is the intersection of the nominal A-axis rotation center line and the nominal C-axis rotation center line and the X, Y, and Z directions are the same as in the machine coordinate system is defined. In the same manner as for the definition of the C-axis coordinate system, a tool coordinate system X_(t)Y_(t)Z_(t) (moving coordinate system) fixed to the A-axis that is the rotation axis is defined. The counterclockwise direction of rotation when seen from the terminal side of the rotating coordinate axis is the positive direction of rotation of the rotation axis.

By performing the following transformations [1] to [6] in order with the reference coordinate system X_(r)Y_(r)Z_(r), the tool coordinate system X_(t)Y_(t)Z_(t) in which a change is made to c for the C-axis as the rotation axis and to a for the A-axis as the rotation axis is obtained.

[1] Rotation by EAC_(c), EBC_(c), and ECC₀ about the X_(r)-, Y_(r)-, and Z_(r)-axes, with the reference coordinate system X_(r)Y_(r)Z_(r) set as the reference coordinate system. [2] Translation by EXC_(c), EYC_(c), and EZC_(c) along the X_(r)-, Y_(r)-, and Z_(r)-axes (resulting in the coordinate system X₁Y₁Z₁), with the reference coordinate system X_(r)Y_(r)Z_(r) set as the reference coordinate system. [3] Rotation by c about Z₁ (resulting in the C-axis coordinate system X_(c)Y_(c)Z_(c)), with the coordinate system X₁Y₁Z₁ set as the reference coordinate system. [4] Rotation by EAA_(0,a)-EAC₀, EBA_(0,a)-EBC₀, and ECA_(0,a)-ECC₀ about the X_(c)-axis, the Y_(c)-axis, and the Z_(c)-axis, with the C-axis coordinate system X_(c)Y_(c)Z_(c) set as the reference coordinate system. [5] Translation by EXA_(0,a)-EXC₀, EYA_(0,a)-EYC₀, and EZA_(0,a)-EZC₀ along the X_(c)-axis, the Y_(c)-axis, and the Z_(c)-axis (resulting in the coordinate system X₂Y₂Z₂), with the C-axis coordinate system X_(c)Y_(c)Z_(c) set as the reference coordinate system. [6] Rotation by a about the X₂-axis (resulting in the tool coordinate system X_(t)Y_(t)Z_(t)), with the coordinate system X₂Y₂Z₂ set as the reference coordinate system.

With the transformations described above, a homogenous coordinate transformation matrix ^(r)T_(t) for the reference coordinate system X_(r)Y_(r)Z_(r) to the tool coordinate system X_(t)Y_(t)Z_(t) is obtained by the following expression (5).

^(r) T _(t)=^(r) T ₁ ¹ T _(c) ^(c) T ₂ ² T _(t)  (5)

^(r)T₁: Homogenous coordinate transformation matrix for reference coordinate system XrYrZr to coordinate system X₁Y₁Z₁

¹T_(c): Homogenous coordinate transformation matrix for coordinate system X₁Y₁Z₁ to C-axis coordinate system X_(c)Y_(c)Z_(c)

^(c)T₂: Homogenous coordinate transformation matrix for C-axis coordinate system X_(c)Y_(c)Z_(c) to coordinate system X₂Y₂Z₂

²T_(t): Homogenous coordinate transformation matrix for coordinate system X₂Y₂Z₂ to tool coordinate system X_(t)Y_(t)Z_(t)

When the translation errors and rotation errors dependent on the C- and A-axes are taken into consideration, the actual position of the tool in the reference coordinate system X_(r)Y_(r)Z_(r) is as in expression (6).

$\begin{matrix} {{\,^{r}p} = {{{{}_{}^{}{}_{}^{}}\left( {{}_{}^{}\left. T \right.\sim_{}^{}} \right)}{\,^{{- 1}r}\overset{\sim}{p}}}} \\ {= {\begin{bmatrix} 1 & {- \gamma} & \beta & {\delta \; X} \\ \gamma & 1 & {- \alpha} & {\delta \; Y} \\ {- \beta} & \alpha & 1 & {\delta \; Z} \\ 0 & 0 & 0 & 1 \end{bmatrix}{\,^{r}\overset{\sim}{p}}}} \end{matrix}$ δ X = EXC_(c) + (EXA_(0.a) − EXC₀)cos (c) − (EYA_(0.a) − EYC₀)sin  (c) δ Y = EYC_(c) + (EYA_(0.a) − EYC₀)cos (c) + (EXA_(0.a) − EXC₀)sin (c) δ Z = EZC_(c) + (EZA_(0.a) − EZC₀) α = EAC_(c) + (EAA_(0.a) − EAC₀)cos (c) − (EBA_(0.a) − EBC₀)sin (c) β = EBC_(c) + (EBA_(0.a) − EBC₀)cos (c) + (EAA_(0.a) − EAC₀)sin (c) γ = ECC_(c) + (ECA_(0.a) − ECC₀)

-   ^(r){tilde over (p)}: Correct position of tool head in reference     coordinate system X_(r)Y_(r)Z_(r) -   ^(r)p: Actual position of tool head in reference coordinate system     X_(r)Y_(r)Z_(r) -   ^(r){tilde over (T)}_(t): Homogenous coordinate transformation     matrix for reference coordinate system X_(r)Y_(r)Z_(r) to tool     coordinate system X_(t)Y_(t)Z_(t) when two rotation axes are without     error

(6)

When the translation error correction amount and rotation error correction amount dependent on the rotation axis are such that

an X component ΔX2_(c,a), a Y component ΔY2_(c,a), and a Z component ΔZ2_(c,a) of the translation error correction amount for movement of the rotation axis when C=c and A=a are sufficiently small and

a tilt ΔI2_(c,a) about the X-axis, a tilt ΔJ2_(c,a) about the Y-axis, and a tilt ΔK2_(c,a) about the Z-axis of the rotation error correction amount for movement of the rotation axis when C=c and A=a are sufficiently small, a transformation matrix with the correction amounts is expression (7).

$\begin{matrix} {{{\begin{bmatrix} 1 & 0 & 0 & {\Delta \; X\; 2_{c.a}} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & {\Delta \; Y\; 2_{c.a}} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}}\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & {\Delta \; Z\; 2_{c.a}} \\ 0 & 0 & 0 & 1 \end{bmatrix}}{\quad{\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & {\cos \left( {\Delta \; I\; 2_{c.a}} \right)} & {- {\sin \left( {\Delta \; I\; 2_{c.a}} \right)}} & 0 \\ 0 & {\sin \left( {\Delta \; I\; 2_{c.a}} \right)} & {\cos \left( {\Delta \; I\; 2_{c.a}} \right)} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}{\quad{\begin{bmatrix} {\cos \left( {\Delta \; J\; 2_{c.a}} \right)} & 0 & {\sin \left( {\Delta \; J\; 2_{c.a}} \right)} & 0 \\ 0 & 1 & 0 & 0 \\ {- {\sin \left( {\Delta \; J\; 2_{c.a}} \right)}} & 0 & {\cos \left( {\Delta \; J\; 2_{c.a}} \right)} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}{\quad{\begin{bmatrix} {\cos \left( {\Delta \; K\; 2_{c.a}} \right)} & {- {\sin \left( {\Delta \; K\; 2_{c.a}} \right)}} & 0 & 0 \\ {\sin \left( {\Delta \; K\; 2_{c.a}} \right)} & {\cos \left( {\Delta \; K\; 2_{c.a}} \right)} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}{\quad\begin{bmatrix} 1 & {{- \Delta}\; K\; 2_{c.a}} & {\Delta \; J\; 2_{c.a}} & {\Delta \; X\; 2_{c.a}} \\ {\Delta \; K\; 2_{c.a}} & 1 & {{- \Delta}\; I\; 2_{c.a}} & {\Delta \; Y\; 2_{c.a}} \\ {{- \Delta}\; J\; 2_{c.a}} & {\Delta \; I\; 2_{c.a}} & 1 & {\Delta \; Z\; 2_{c.a}} \\ 0 & 0 & 0 & 1 \end{bmatrix}}}}}}}}} & (7) \end{matrix}$

Assuming that the transformation matrix in expression (6) and expression (7) are equal, the following expression (8) is obtained.

ΔX2_(c.a) =EXC _(c)+(EXA _(0.a) −EXC ₀)cos(c)−(EYA _(0.a) −EYC ₀)sin(c)

ΔY2_(c.a) =EYC _(c)+(EZC _(0.c) −EYC ₀)cos(c)+(EXA _(0.c) −EXC ₀)sin(c)

ΔZ2_(c.a) =EZC _(c)+(EZA _(0.a) −EZC ₀)

ΔI2_(c.a) =EAC _(c)+(EAA _(0.a) −EAC ₀)cos(c)−(EBA _(0.a) −EBC ₀)sin(c)

ΔJ2_(c.a) =EBC _(c)+(EBA _(0.a) −EBC ₀)cos(c)+(EAA _(0.a) −EAC ₀)sin(c)

ΔK2_(c.a) =ECC _(c)+(ECA _(0.a) −ECC ₀)  (8)

Since correction is performed to compensate for an error in the tool head, a value of the error in the tool head with an inverted sign from expression (8) is the correction amount (see the following expression (9)).

ΔX2_(c.a) =−EXC _(c)−(EXA _(0.a) −EXC ₀)cos(c)+(EYA _(0.a) −EYC ₀)sin(c)

ΔY2_(c.a) =−EYC _(c)−(EZA _(0.a) −EYC ₀)cos(c)−(EXA _(0.a) −EXC ₀)sin(c)

ΔZ2_(c.a) =−EZC _(c)−(EZA _(0.a) −EZC ₀)

ΔI2_(c.a) =−EAC _(c)−(EAA _(0.a) −EAC ₀)cos(c)+(EBA _(0.a) −EBC ₀)sin(c)

ΔJ2_(c.a) =−EBC _(c)−(EBA _(0.a) −EBC ₀)cos(c)−(EAA _(0.a) −EAC ₀)sin(c)

ΔK2_(c.a) =−ECC _(c)−(ECA _(0.a) −ECC ₀)  (9)

While the translation error correction amount and rotation error correction amount dependent on the rotation axis are obtained simultaneously in expression (9), only one of the translation error correction amount and rotation error correction amount dependent on the rotation axis may be obtained. That is, it may be such that only one of the translation error correction amount dependent on the rotation axis and the rotation error correction amount dependent on the rotation axis is obtained by the calculation described above.

For “<8> On input of translation error correction amount and rotation error correction amount” and thereafter, it is similar to the first embodiment, and therefore description is omitted. 

1. An error correction amount creating device that creates an error correction amount for a five-axis machine controlled by a numerical controller and having three linear axes and two rotation axes, the error correction amount creating device comprising: a measurement data input unit that inputs, as arithmetic measurement data, a translation error and rotation error at respective positions divided at equal or unequal intervals for each of the two rotation axes, measured by a measuring machine; an error correction amount arithmetic unit that obtains, from the arithmetic measurement data, at least one of a rotation axis-dependent translation error correction amount that is a translation error correction amount and a rotation axis-dependent rotation error correction amount that is a rotation error correction amount, for each lattice point of a lattice region into which a two-dimensional coordinate system space with the two rotation axes is divided at the equal intervals or unequal intervals in each axis direction; and an error correction amount output unit that outputs at least one of the rotation axis-dependent translation error correction amount and the rotation axis-dependent rotation error correction amount to the numerical controller controlling the five-axis machine.
 2. The error correction amount creating device according to claim 1, which is a device independent from the numerical controller.
 3. The error correction amount creating device according to claim 1, which is a device present within the numerical controller.
 4. The error correction amount creating device according to claim 1, wherein the five-axis machine is a table rotating five-axis machine in which a table is rotated about the two rotation axes.
 5. The error correction amount creating device according to claim 1, wherein the five-axis machine is a head rotating five-axis machine in which a head is rotated about the two rotation axes. 